package com.wwy.producter;


import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.wwy.config.RabbitMqUtils;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import java.io.IOException;
import java.util.Objects;


/**
 * @author 王伟羽
 * @date 2024/3/13 9:52
 */

@RestController
@RequestMapping(value = "/test")
public class producer {

    private final static String QUERE_NAME = "quere_name";

    @Resource
    private RabbitTemplate rabbitTemplate;

    @GetMapping(value = "/sendMessage")
    public String sendMessage(String message) {
        System.out.println(message);
        //第一种方法
//        Connection connection = RabbitMqUtils.getConnection();
//        if (Objects.nonNull(connection)) {
//            try {
//                Channel channel = connection.createChannel();
//                // 参数1：指定exchange，使用""。   最简模式（helloword） 使用默认交换机
//                // 参数2：指定路由的规则，
//                //       使用具体的队列名称。
////      参数2可以是队列名   也可以是路由规则
//
//                // 参数3：指定传递的消息所携带的properties，使用null。
//                // 参数4：指定发布的具体消息，byte[]类型
//                channel.basicPublish("", QUERE_NAME, null, "马上下课".getBytes("utf-8"));
//                return "发送消息成功！";
//            } catch (IOException e) {
//                e.printStackTrace();
//                return "发送消息失败！";
//            }
        rabbitTemplate.convertAndSend(QUERE_NAME, message);
        return "发送成功！";
    }

}
